package com.lanchetech.merchant.service;


import com.lanchetech.bean.request.CategoryReq;
import com.lanchetech.bean.response.BasePageResp;
import com.lanchetech.bean.response.BaseResp;
import com.lanchetech.bean.response.CategoryInfoResp;
import com.lanchetech.bean.response.ResultData;
import com.lanchetech.bean.vo.CategoryEditVO;
import com.lanchetech.bean.vo.ShopCategoryEditVO;
import com.lanchetech.entity.Category;
import com.lanchetech.entity.ShopCategory;

import java.util.List;

public interface CategoryService {
    ResultData<List<Category>> getTwoLevelCategoryList(Byte type);

    ResultData<List<Category>> getAllCategoryList(Byte type);

    ResultData<List<Category>> getRootCategoryList(Byte type);

    ResultData<List<Category>> getChildrenCategory(Long id);

    ResultData<CategoryEditVO> getCategoryDetail(Long id);

    ResultData<CategoryInfoResp> getCategoryInfo(Long id);

    ResultData<List<ShopCategory>> getAllShopCategoryList();

    BaseResp editShopCategory(ShopCategoryEditVO shopCategoryEditVO);

    BaseResp deleteShopCategory(Long id);

    ResultData<ShopCategory> getShopCategoryDetail(Long id);

    ResultData<BasePageResp<Category>> getCategoryPage(CategoryReq req);
}